//package com.batata.continuing.config.mq;
//
//
//import org.springframework.amqp.core.Message;
//import org.springframework.amqp.rabbit.connection.CorrelationData;
//import org.springframework.amqp.rabbit.core.RabbitTemplate;
//import org.springframework.context.annotation.Configuration;
//
//import javax.annotation.PostConstruct;
//import javax.annotation.Resource;
//
//
///**
// * rabbitMq 配置中心
// */
//@Configuration
//public class RabbitConfig implements RabbitTemplate.ConfirmCallback, RabbitTemplate.ReturnCallback {
//
//
//    @Resource
//    private RabbitTemplate rabbitTemplate;
//
//    @PostConstruct
//    public void init() {
//        rabbitTemplate.setReturnCallback(this);
//        rabbitTemplate.setConfirmCallback(this);
//    }
//
//
//    /**
//     * 消息确认（回调，判断是否成功）
//     * @param correlationData 相关数据（此处猜测为“唯一标识”）
//     * @param ack true 成功 false 失败
//     * @param cause 原因
//     */
//    @Override
//    public void confirm(CorrelationData correlationData, boolean ack, String cause) {
//        System.out.println("[生产者->交换机]消息唯一标识" + correlationData);
//        System.out.println("[生产者->交换机]确认结果" + ack);
//        System.out.println("[生产者->交换机]失败原因" + cause);
//    }
//
//    @Override
//    public void returnedMessage(
//            Message message,
//            int replyCode,
//            String replyText,
//            String exchange,
//            String routingKey
//    ) {
//        System.out.println("[交换机->队列]消息主体mess" + message);
//        System.out.println("[交换机->队列]消息主体mess" + replyCode);
//        System.out.println("[交换机->队列]描述" + replyText);
//        System.out.println("[交换机->队列]消息使用的交换机" + exchange);
//        System.out.println("[交换机->队列]消息使用的路由键" + routingKey);
//    }
//
//}
